/**
 * <copyright>
 * </copyright>
 *
 */
package org.xtext.example.mydsl.myDsl.util;

import java.util.List;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;

import org.xtext.example.mydsl.myDsl.Accion;
import org.xtext.example.mydsl.myDsl.CampoSubred;
import org.xtext.example.mydsl.myDsl.Configuration;
import org.xtext.example.mydsl.myDsl.DenegarUnaIP;
import org.xtext.example.mydsl.myDsl.Destino;
import org.xtext.example.mydsl.myDsl.EnabledHigh;
import org.xtext.example.mydsl.myDsl.EnabledIP;
import org.xtext.example.mydsl.myDsl.EnabledLess;
import org.xtext.example.mydsl.myDsl.EnabledPuerto;
import org.xtext.example.mydsl.myDsl.EnabledRange;
import org.xtext.example.mydsl.myDsl.False;
import org.xtext.example.mydsl.myDsl.Filtro;
import org.xtext.example.mydsl.myDsl.IP;
import org.xtext.example.mydsl.myDsl.IPNoAceptaIp;
import org.xtext.example.mydsl.myDsl.Logguear;
import org.xtext.example.mydsl.myDsl.Mayor;
import org.xtext.example.mydsl.myDsl.Menor;
import org.xtext.example.mydsl.myDsl.Mensaje;
import org.xtext.example.mydsl.myDsl.Model;
import org.xtext.example.mydsl.myDsl.MyDslPackage;
import org.xtext.example.mydsl.myDsl.Puerto;
import org.xtext.example.mydsl.myDsl.Rango;
import org.xtext.example.mydsl.myDsl.RangoNoaceptaIp;
import org.xtext.example.mydsl.myDsl.Redireccionar;
import org.xtext.example.mydsl.myDsl.Regla;
import org.xtext.example.mydsl.myDsl.SoloAceptaSubred;
import org.xtext.example.mydsl.myDsl.Subred;
import org.xtext.example.mydsl.myDsl.True;

/**
 * <!-- begin-user-doc -->
 * The <b>Switch</b> for the model's inheritance hierarchy.
 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
 * to invoke the <code>caseXXX</code> method for each class of the model,
 * starting with the actual class of the object
 * and proceeding up the inheritance hierarchy
 * until a non-null result is returned,
 * which is the result of the switch.
 * <!-- end-user-doc -->
 * @see org.xtext.example.mydsl.myDsl.MyDslPackage
 * @generated
 */
public class MyDslSwitch<T>
{
  /**
   * The cached model package
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  protected static MyDslPackage modelPackage;

  /**
   * Creates an instance of the switch.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  public MyDslSwitch()
  {
    if (modelPackage == null)
    {
      modelPackage = MyDslPackage.eINSTANCE;
    }
  }

  /**
   * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the first non-null result returned by a <code>caseXXX</code> call.
   * @generated
   */
  public T doSwitch(EObject theEObject)
  {
    return doSwitch(theEObject.eClass(), theEObject);
  }

  /**
   * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the first non-null result returned by a <code>caseXXX</code> call.
   * @generated
   */
  protected T doSwitch(EClass theEClass, EObject theEObject)
  {
    if (theEClass.eContainer() == modelPackage)
    {
      return doSwitch(theEClass.getClassifierID(), theEObject);
    }
    else
    {
      List<EClass> eSuperTypes = theEClass.getESuperTypes();
      return
        eSuperTypes.isEmpty() ?
          defaultCase(theEObject) :
          doSwitch(eSuperTypes.get(0), theEObject);
    }
  }

  /**
   * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the first non-null result returned by a <code>caseXXX</code> call.
   * @generated
   */
  protected T doSwitch(int classifierID, EObject theEObject)
  {
    switch (classifierID)
    {
      case MyDslPackage.MODEL:
      {
        Model model = (Model)theEObject;
        T result = caseModel(model);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.CONFIGURATION:
      {
        Configuration configuration = (Configuration)theEObject;
        T result = caseConfiguration(configuration);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.DESTINO:
      {
        Destino destino = (Destino)theEObject;
        T result = caseDestino(destino);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.IP:
      {
        IP ip = (IP)theEObject;
        T result = caseIP(ip);
        if (result == null) result = caseDestino(ip);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.PUERTO:
      {
        Puerto puerto = (Puerto)theEObject;
        T result = casePuerto(puerto);
        if (result == null) result = caseDestino(puerto);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.CAMPO_SUBRED:
      {
        CampoSubred campoSubred = (CampoSubred)theEObject;
        T result = caseCampoSubred(campoSubred);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.SUBRED:
      {
        Subred subred = (Subred)theEObject;
        T result = caseSubred(subred);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.MAYOR:
      {
        Mayor mayor = (Mayor)theEObject;
        T result = caseMayor(mayor);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.MENOR:
      {
        Menor menor = (Menor)theEObject;
        T result = caseMenor(menor);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.RANGO:
      {
        Rango rango = (Rango)theEObject;
        T result = caseRango(rango);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.REGLA:
      {
        Regla regla = (Regla)theEObject;
        T result = caseRegla(regla);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.ACCION:
      {
        Accion accion = (Accion)theEObject;
        T result = caseAccion(accion);
        if (result == null) result = caseRegla(accion);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.MENSAJE:
      {
        Mensaje mensaje = (Mensaje)theEObject;
        T result = caseMensaje(mensaje);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.ENABLED_PUERTO:
      {
        EnabledPuerto enabledPuerto = (EnabledPuerto)theEObject;
        T result = caseEnabledPuerto(enabledPuerto);
        if (result == null) result = caseAccion(enabledPuerto);
        if (result == null) result = caseRegla(enabledPuerto);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.ENABLED_IP:
      {
        EnabledIP enabledIP = (EnabledIP)theEObject;
        T result = caseEnabledIP(enabledIP);
        if (result == null) result = caseAccion(enabledIP);
        if (result == null) result = caseRegla(enabledIP);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.ENABLED_RANGE:
      {
        EnabledRange enabledRange = (EnabledRange)theEObject;
        T result = caseEnabledRange(enabledRange);
        if (result == null) result = caseAccion(enabledRange);
        if (result == null) result = caseRegla(enabledRange);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.ENABLED_HIGH:
      {
        EnabledHigh enabledHigh = (EnabledHigh)theEObject;
        T result = caseEnabledHigh(enabledHigh);
        if (result == null) result = caseAccion(enabledHigh);
        if (result == null) result = caseRegla(enabledHigh);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.ENABLED_LESS:
      {
        EnabledLess enabledLess = (EnabledLess)theEObject;
        T result = caseEnabledLess(enabledLess);
        if (result == null) result = caseAccion(enabledLess);
        if (result == null) result = caseRegla(enabledLess);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.REDIRECCIONAR:
      {
        Redireccionar redireccionar = (Redireccionar)theEObject;
        T result = caseRedireccionar(redireccionar);
        if (result == null) result = caseAccion(redireccionar);
        if (result == null) result = caseRegla(redireccionar);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.LOGGUEAR:
      {
        Logguear logguear = (Logguear)theEObject;
        T result = caseLogguear(logguear);
        if (result == null) result = caseAccion(logguear);
        if (result == null) result = caseRegla(logguear);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.FILTRO:
      {
        Filtro filtro = (Filtro)theEObject;
        T result = caseFiltro(filtro);
        if (result == null) result = caseRegla(filtro);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.DENEGAR_UNA_IP:
      {
        DenegarUnaIP denegarUnaIP = (DenegarUnaIP)theEObject;
        T result = caseDenegarUnaIP(denegarUnaIP);
        if (result == null) result = caseFiltro(denegarUnaIP);
        if (result == null) result = caseRegla(denegarUnaIP);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.IP_NO_ACEPTA_IP:
      {
        IPNoAceptaIp ipNoAceptaIp = (IPNoAceptaIp)theEObject;
        T result = caseIPNoAceptaIp(ipNoAceptaIp);
        if (result == null) result = caseFiltro(ipNoAceptaIp);
        if (result == null) result = caseRegla(ipNoAceptaIp);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.RANGO_NOACEPTA_IP:
      {
        RangoNoaceptaIp rangoNoaceptaIp = (RangoNoaceptaIp)theEObject;
        T result = caseRangoNoaceptaIp(rangoNoaceptaIp);
        if (result == null) result = caseFiltro(rangoNoaceptaIp);
        if (result == null) result = caseRegla(rangoNoaceptaIp);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.SOLO_ACEPTA_SUBRED:
      {
        SoloAceptaSubred soloAceptaSubred = (SoloAceptaSubred)theEObject;
        T result = caseSoloAceptaSubred(soloAceptaSubred);
        if (result == null) result = caseFiltro(soloAceptaSubred);
        if (result == null) result = caseRegla(soloAceptaSubred);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.BOOLEAN:
      {
        org.xtext.example.mydsl.myDsl.Boolean boolean_ = (org.xtext.example.mydsl.myDsl.Boolean)theEObject;
        T result = caseBoolean(boolean_);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.TRUE:
      {
        True true_ = (True)theEObject;
        T result = caseTrue(true_);
        if (result == null) result = caseBoolean(true_);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      case MyDslPackage.FALSE:
      {
        False false_ = (False)theEObject;
        T result = caseFalse(false_);
        if (result == null) result = caseBoolean(false_);
        if (result == null) result = defaultCase(theEObject);
        return result;
      }
      default: return defaultCase(theEObject);
    }
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Model</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Model</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseModel(Model object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Configuration</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseConfiguration(Configuration object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Destino</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Destino</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseDestino(Destino object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>IP</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>IP</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseIP(IP object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Puerto</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Puerto</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T casePuerto(Puerto object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Campo Subred</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Campo Subred</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseCampoSubred(CampoSubred object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Subred</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Subred</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseSubred(Subred object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Mayor</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Mayor</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseMayor(Mayor object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Menor</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Menor</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseMenor(Menor object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Rango</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Rango</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseRango(Rango object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Regla</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Regla</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseRegla(Regla object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Accion</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Accion</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseAccion(Accion object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Mensaje</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Mensaje</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseMensaje(Mensaje object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Enabled Puerto</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Enabled Puerto</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseEnabledPuerto(EnabledPuerto object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Enabled IP</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Enabled IP</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseEnabledIP(EnabledIP object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Enabled Range</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Enabled Range</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseEnabledRange(EnabledRange object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Enabled High</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Enabled High</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseEnabledHigh(EnabledHigh object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Enabled Less</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Enabled Less</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseEnabledLess(EnabledLess object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Redireccionar</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Redireccionar</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseRedireccionar(Redireccionar object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Logguear</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Logguear</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseLogguear(Logguear object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Filtro</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Filtro</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseFiltro(Filtro object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Denegar Una IP</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Denegar Una IP</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseDenegarUnaIP(DenegarUnaIP object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>IP No Acepta Ip</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>IP No Acepta Ip</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseIPNoAceptaIp(IPNoAceptaIp object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Rango Noacepta Ip</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Rango Noacepta Ip</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseRangoNoaceptaIp(RangoNoaceptaIp object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Solo Acepta Subred</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Solo Acepta Subred</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseSoloAceptaSubred(SoloAceptaSubred object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>Boolean</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>Boolean</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseBoolean(org.xtext.example.mydsl.myDsl.Boolean object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>True</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>True</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseTrue(True object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>False</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>False</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
   * @generated
   */
  public T caseFalse(False object)
  {
    return null;
  }

  /**
   * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
   * <!-- begin-user-doc -->
   * This implementation returns null;
   * returning a non-null result will terminate the switch, but this is the last case anyway.
   * <!-- end-user-doc -->
   * @param object the target of the switch.
   * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
   * @see #doSwitch(org.eclipse.emf.ecore.EObject)
   * @generated
   */
  public T defaultCase(EObject object)
  {
    return null;
  }

} //MyDslSwitch
